package cn.lili.common.utils;

import cn.lili.common.enums.CodeTypeEnum;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Author xiangqian
 * @Date 2023/10/4 17:57
 */
public class CodeUtil {

    public static void main(String[] args) {
        System.out.println(CodeTypeEnum.RULE.clientName());
        System.out.println(generateNumber("RULE_"));
    }

    /**
     * 生成编号
     */
    public static String generateNumber(String pre) {
        // 获取当前时间戳和随机数
        long timestamp = System.currentTimeMillis();
        int random = (int) (Math.random() * 1000000);

        // 格式化时间戳为 yyyyMMddHHmmss
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        String timeStr = sdf.format(new Date(timestamp));

        // 拼接订单编号，格式为：yyyyMMddHHmmss + 随机数 6 位
        StringBuilder sb = new StringBuilder();
        sb.append(pre);
        sb.append(timeStr);
        sb.append(String.format("%06d", random));

        return sb.toString();
    }
}
